Data memory

ABSTRACT

A data memory comprising a main data memory ( 2 ) consisting of a plurality of data memory units, a redundancy data memory ( 3 ) consisting of several redundancy data memory units which replace defective data memory units of the main data memory ( 2 ), and a redundancy control logic ( 4 ) which is used to control access to the redundancy data memory ( 4 ). The main data memory ( 2 ) and the redundancy data memory

[0001] The invention relates to a data memory with a short access time, which has a main data memory and a redundancy data memory for the replacement of defective data memory units of the main data memory.

[0002] The size of data memories and the integration level of data memories are increasing more and more on account of the increased requirements particularly in the case of customized ASIC circuits. On account of the high integration level required and the large memory sizes required, in the course of the complex fabrication process, defective data memory units are also produced here and there in addition to the functioning data memory units. In order to find such defective memory cells, data memories, after they have been fabricated, are subjected to a memory test in which test data patterns are applied to the memory and then a check is made to determine whether the data read out correspond to an expected test data read-out pattern.

[0003] In order to prevent a few failed data memory units from rendering the entire data memory fabricated nonfunctional, increasingly redundant memory areas are additionally being provided in data memories, which memory areas serve for the replacement of defective data memory units. For this purpose, in a data memory organized in rows and columns, replacement memory rows and replacement memory columns are additionally incorporated on the data memory chip.

[0004]FIG. 1 diagrammatically shows the construction of a data memory with a redundant memory area according to the prior art. After the data memory has undergone a memory test, the test data pattern read out is firstly stored and the addresses of the defective data memory units of the data memory are determined by comparison with expected test output patterns. The defective addresses determined are programmed into the redundancy logic, so that, in the event of access to the address of a defective data memory unit within the data memory, a replacement data memory unit within the redundancy data memory is accessed. In order to test whether the address diversion within the redundancy logic has been ended successfully, in a subsequent further test step, by comparing test data patterns a check is made to determine whether the memory is now functional.

[0005] In the event of a memory access to the data memory, firstly an address comparison is effected in the redundancy logic and afterward, provided that the addressed data memory unit is not defective, the addressed data memory unit within the data memory is accessed or, if the addressed data memory unit is identified as a defective data memory unit, a replacement data memory unit within the redundant memory is accessed.

[0006] One disadvantage of the arrangement according to the prior art as illustrated in FIG. 1 is that the redundant memory is integrated into the original data memory. In the case of a prescribed data memory with a predetermined size, for example a RAM memory with a memory space of one megabyte, the data memory must be correspondingly adapted in circuitry for the integration of a redundant memory space.

[0007] The memory illustrated in FIG. 1 furthermore has the serious disadvantage that the memory access to a data memory unit takes a relatively long time. The memory access time T_(access) to a data memory unit within the memory illustrated in FIG. 1 is the sum of the address comparison time T_(v) required for the address comparison within the redundancy logic, and the access time to the data memory T_(ZD).

T _(access) =T _(ZD) +T _(V)

[0008] The object of the present invention is to provide a data memory with redundant memory which has the shortest possible memory access time.

[0009] This object is achieved according to the invention by means of a data memory in the [sic] features specified in patent claim 1.

[0010] The invention provides a data memory having a main data memory comprising a multiplicity of data memory units, a redundancy data memory, which comprises a plurality of redundancy data memory units for the replacement of defective data memory units of the main data memory, and having a redundancy control logic for controlling the access to the redundancy data memory, the main data memory and the redundancy data memory being connected to a data bus in parallel with one another via data lines, and the main data memory and the redundancy control logic being connected, in parallel with one another, via address lines, to an address bus for the addressing of data memory units in the data memory.

[0011] One advantage of the data memory according to the invention is that it is provided with a redundant memory without the main data memory having to be adapted in circuitry.

[0012] A further advantage of the data memory having the features specified in patent claim 1 is the expedient nature of its testing, since the redundancy data memory can immediately be concomitantly tested when a test pattern is applied for checking the functionality of the data memory.

[0013] In a preferred embodiment of the data memory, the redundancy control logic has an address memory with a plurality of address memory units, which store addresses of defective data memory units of the main data memory.

[0014] In one embodiment of the data memory, the address memory units are associative memory units CAM connected to the address bus, the associative memory units being provided for enabling associated redundancy data memory units of the redundancy data memory.

[0015] In a further embodiment, the address memory units are address memory registers.

[0016] In this case, the address memory registers preferably each have a flag bit which indicates whether the content of the address memory register is valid.

[0017] The redundancy control logic preferably has a plurality of comparators which are in each case connected to an address memory register and the address bus and enable an associated redundancy data memory unit of the redundancy data memory if the address present in the address bus corresponds to the address stored in the address memory register.

[0018] The redundancy control logic preferably controls a first multiplexer for reading data from the main data memory or the redundancy data memory.

[0019] In a further preferred embodiment, the main data memory, the redundancy data memory and the redundancy control logic are connected, in parallel with one another, to a control bus for controlling the read or write access to the data memory.

[0020] In a particularly preferred embodiment of the data memory according to the invention, the address memory is connected to a programmed, non-erasable address read-only memory for permanently storing addresses of defective data memory units of the main data memory.

[0021] The redundancy control logic preferably controls a second multiplexer, which is connected, on the input side, to the redundancy data memory units of the redundancy memory and serves for reading data from one of the redundancy data memory units.

[0022] In this case, the redundancy data memory units of the redundancy memory are preferably data registers.

[0023] In a preferred embodiment, the main data memory is a RAM data memory.

[0024] In a further preferred embodiment, the main data memory, is an SRAM data memory.

[0025] An address of a defective data memory unit of the main data memory can preferably be read out in an address memory unit of the address memory from a memory test logic integrated in the data memory, from an automatic test device or from the address read-only memory, and be written to the address memory unit.

[0026] Preferred embodiments of the data memory according to the invention are described below in order to elucidate features essential to the invention, with reference to the accompanying figures.

[0027] In the figures:

[0028]FIG. 1 shows a data memory with redundant memory according to the prior art;

[0029] FIG.2 shows a block diagram of the data memory according to the invention with a redundancy data memory;

[0030]FIG. 3 shows a first embodiment of the data memory according to the invention;

[0031]FIG. 4 shows a second embodiment of the data memory according to the invention;

[0032]FIG. 5 shows a flow diagram illustrating the testing and the address reprogramming in the case of the data memory according to the invention;

[0033]FIG. 2 shows a block diagram of the data memory 1 according to the invention. The data memory 1 has a main data memory 2, a redundancy data memory 3, a redundancy control logic 4 and a data read-out multiplexer 5. The main data memory 2 is preferably a RAM memory, in particular a SRAM memory. The data memory 1 is connected to a data bus 6, an address bus 7 and to a control bus 8. In this case, the main data memory 2 is connected to the data bus 6 via data lines 9, to the address bus 7 via address lines 10 and to the control bus 8 via control lines 11. The redundancy data memory 3 is connected to the data bus 6 via data lines 12, to the address bus 7 via address lines 13 and to the control bus 8 via control lines 14. The redundancy control logic 4 is connected to the address bus 7 via address lines 15 and to the control bus 8 via control lines 16.

[0034] The main data memory 2 is connected to a first input of the data read-out multiplexer 5 via data read-out lines 17 and the redundancy data memory 3 is connected to a second input of the data read-out multiplexer 5 via data read-out lines 18. The data read-out multiplexer 5 can be connected, on the output side, via data lines 19, to the data bus 6 or a further data bus.

[0035] The redundancy control logic 4 controls the writing of data to the redundancy data memory 3 via a control line 20 and the changeover of the data read-out multiplexer 5 between the data read-out lines 17, 18 via a control line 21.

[0036] The main data memory 2 comprises a multiplicity of data memory units. The data memory units may be individual data bits, data words, data columns, data rows, data arrays or data macro areas. The data memory units can be addressed by means of a dedicated individual address.

[0037] The redundant data memory 3 has a plurality of redundancy data memory units for the replacement of defective data memory units within the main data memory 2. In this case, the number of redundancy data memory units is considerably smaller than the number of data memory units within the main data memory 2. If, in the fabrication process of the data memory 1, defective data memory units are fabricated within the main data memory 2, the redundancy data memory units within the redundancy data memory 3 take over their memory functions. The redundant control logic 4 controls the access to the redundancy data memory 3 if an access to a defective data memory unit of the main data memory 2 is ascertained.

[0038] The main data memory 2 and the redundancy data memory 3 are connected to the data bus 6 in parallel with one another via the data write lines 10, 12. On the output side, the main data memory 2 and the redundancy data memory 3 are connected to the data bus 6 likewise in parallel via the data read-out multiplexer 5 and the data read-out lines 19.

[0039] The main data memory 2 and the redundancy control logic 4 are connected, in parallel with one another, via the address lines 10, 15, to the address bus 7 for addressing data memory units in the data memory 1.

[0040] In the embodiment shown in FIG. 3, the redundancy data memory 3 and the redundancy control logic 4 are integrated in one component, thereby facilitating the electrical connection to an already existing main data memory 2.

[0041] The redundancy control logic 4 contains an address memory 22 with a plurality of address memory units 22 a to 22 g, in which addresses of defective data memory units within the main data memory 2 can be stored. The address memory units 22 a to 22 g are address memory registers. In this case, each address memory register 22 a to 22 g preferably has a flag bit which indicates whether the content of the address memory register is valid.

[0042] The redundancy control logic 4 furthermore contains an address comparison circuit 23 with a plurality of address comparators 23 a to 23 g, which are in each case connected to an address memory register 22 a to 22 g via internal address lines 24 a to 24 g and to the address bus 7 via address lines 15. The comparators 23 a to 23 g in each case have address bit comparison circuits for comparing the address bit levels present on the address lines 15 and the internal address lines 24. After a memory test has been effected, the addresses of defective data memory units within the main data memory 2 are written to the address registers 22 a to 22 g.

[0043] If the address present on the address lines 15 is identical to an address register [sic] stored in an address register 22 a to 22 g, his is identified in the address comparison circuit and, via control lines 25 a to 25 g, an associated redundancy data memory unit 26 a to 26 g of the redundancy data memory 3 is activated and the corresponding redundancy data memory unit 26 a to 26 g is connected to the data read-out multiplexer 5 via an internal data read-out multiplexer 27 of the redundancy data memory 3. The redundancy data memory units 26 a to 26 g of the redundancy data memory 3 are connected to the internal multiplexer 27 of the redundancy data memory 3 via internal data lines 28 a to 28 g.

[0044] If, by way of example, the address present on the address lines 15 corresponds to the address stored in the address memory register 22 a, this is identified by the comparator 23 a of the address comparison circuit 23 and the redundancy data memory unit 26 a of the redundancy data memory 3 is activated via the control line 25 a. The address comparison circuit 23 switches the multiplexer 27 via the control line 22 in such a way that the internal line 28 a is connected through to the output line 18 of the multiplexer 27. At the same time, the address comparison circuit 23 controls the multiplexer 5 in such a way that the latter connects the data line 18 to the data line 19, so that the data contained in the redundancy data memory unit 26 a are output via the data lines 19 to the data bus 6.

[0045] Conversely, if no address for the addressing of a defective data memory unit within the main data memory 2 is present on the address bus 7, the corresponding data memory unit is addressed via the address lines 10 and its content is output via the data read-out lines 17 and the data read-out lines 19 to the data bus 6. For this purpose, the multiplexer 5 is switched in such a way that the data lines 17 are directly connected to the data lines 19.

[0046] The data access to a data memory unit within the main data memory 2 is effected very rapidly in this case since the address comparison within the redundancy control logic 4 is effected temporally in parallel. The redundancy data memory 3 has a much shorter access time than the main data memory 2. While the main data memory 2 is provided with a multiplicity of data memory units, the redundancy data memory 3 has only a few redundancy data memory registers 26 a to 26 g for the replacement of defective data memory units within the main data memory 2. The time T_(V) required by the address comparison circuit 23 for the address comparison is also relatively short, so that the sum of the address comparison time T_(V) and the memory access time to the redundancy data memory 3 T_(ZR) is less than the access time T_(ZH) to the main data memory 2.

T _(V) +T _(ZR) <T _(ZH)

[0047] Consequently, the memory access time to the data memory 1 according to the invention, in the event of an access to a non-defective data memory unit of the main data memory 2, turns out to be:

T _(Z) =T _(ZH) +T _(MUX)

[0048] where T_(MUX) is the switching time of the multiplexer 5.

[0049] The switching time of the multiplexer 5 T_(MUX) is very small. It is far smaller than the address comparison time of the address comparison circuit 23.

T _(MUX) <<T _(V)

[0050] As can be discerned by comparing the construction of the data memory according to the invention with the circuitry construction according to the prior art as shown in FIG. 1, the memory access time T_(Z) is far

[0051] higher in the conventional arrangement than in the data memory 1 according to the invention.

[0052] In the conventional data memory, the memory access time T_(Z)is:

T _(Z) =T _(V) +T _(ZH)

[0053] where

[0054] T_(V) is the address comparison time required by the redundancy logic in order to ascertain whether a defective address is present on the address bus A, and

[0055] T_(ZH) represents the memory access time to the main data memory.

[0056] By contrast, the maximum memory access time T_(Z) of the data memory 1 according to the invention is:

T _(Z) =T _(MUX) +T _(ZH) if T _(v) +T _(ZR) <T _(ZH)

[0057] where

[0058] T_(MUX) is the switching time of the multiplexer 5 and

[0059] T_(ZH) represents the memory access time to the main data memory 2.

[0060] This time advantage is obtained by virtue of the fact that, during the memory access time T_(ZH) to data memory units within the main data memory 2, the address comparison within the redundancy control logic 4 already takes place simultaneously in parallel and, after the end of the memory access to the main data memory 2, a changeover is effected by the multiplexer 5 only in dependence on the comparison result between the redundancy data memory 3 and the main data memory 2.

[0061] As can be discerned in FIG. 3, the main data memory 2, the redundancy data memory 3 and the redundancy control logic 4 are connected, in parallel with one another, via control lines 11, 14, 16, to the control bus 8 for controlling a read or write access to the data memory 1. The writing process to the redundancy data memory 3 is effected in two steps. In the event of a rising clock edge, the input addresses and the input data are stored in a buffer. The comparators 23 a to 23 g compare the input address with the contents of the address memory registers 22 a to 22 g. If one of the stored addresses corresponds to the input address, the buffer-stored input data are written to the corresponding data memory register 26 a to 26 g upon the next clock edge.

[0062] In the preferred embodiment shown in FIG. 3, the address memory 22 is connected via address read-in lines 29 a to 29 g to an address read-only memory 30 for permanently storing addresses of defective data memory units of the main data memory 2.

[0063] The addresses identified as defective after the testing of the data memory 1 are fixedly programmed in the address read-only memory 30. The address read-only memory 30 is preferably a nonvolatile memory. The address read-only memory 30 preferably comprises fuses which are blown after the test process in accordance with the addresses identified as defective.

[0064] The address memory 22 preferably contains a plurality of address memory registers 22 a to 22 g which each have a flag bit which indicates whether the content of the address register 22 a to 22 g is valid. If, after testing, it is identified that the main data memory 2 contains no defective data memory units, the redundancy control logic 4 is deactivated by all the flag bits remaining reset.

[0065]FIG. 4 shows an alternative embodiment of the redundancy control logic 4, in which the address memory units 22 a to 22 g of the address memory 22 are in this case associative memory units connected to the address bus 7, for enabling the associated redundancy data memory units 26 a to 26 g of the redundancy data memory 3.

[0066]FIG. 5 shows a flow diagram for illustrating the programming operation of the data memory according to the invention with addresses of defective data memory units.

[0067] In a step S₀, a memory test is started. Afterward, the step S₁ of initialization of arrays and address memory registers is carried out. In a step S₂, an address is applied to the address bus 7 and a test datum is applied to the data bus 6. In step S₃, evaluation is effected to determine whether the output data value present on the data bus 6 corresponds to an expected data output value. If this is the case, in step S₄ a decision is made as to whether the test is ended. If the test pass of the main data memory 2 has not yet been ended, in step S₅ the next address is generated and, in step S₂, is applied to the address bus 7 again. The loop comprising the steps S₂, S₃, S₄, S₅ is iterated for all the addresses of the main data memory 2.

[0068] If it is ascertained in step S₃ that the output data value does not correspond to the expected test data value, it is identified that the corresponding data memory unit within the main data memory 2 is defective. In a step S₆, a check is made to determine whether there are still any free address memory registers or associative memories 22 a to 22 g within the redundancy control logic 4. If the address memory 22 of the redundancy control logic 4 is already filled with addresses of defective data memory units and, consequently, there are no further address memory units available within the redundancy control logic 4, the data memory 1 fabricated defectively in this way can no longer be repaired since too many fabrication defects have occurred and the sequence illustrated in FIG. 5 outputs, in step S₇, an indication signal which indicates that a repair of the data memory 1 cannot be carried out.

[0069] If it is ascertained in step S₆ that there is still a free address memory unit 22 a to 22 g within the redundancy control logic 4, in step S₈ the address identified as defective is written to the address memory unit of the address memory 22 and, if appropriate, a flag bit that is present is set.

[0070] In step S₈, the test data to be applied are reset and the test is begun anew.

[0071] The addresses of the data memory units identified as defective within the main data memory 2 are written to address memory units 22 a to 22 g of the address memory 22 within the redundancy control logic 4. In this case, the addresses identified as defective may originate from a built-in memory test logic BIST integrated in the data memory 1, an automatic test device TA or from the address read-only memory 30. The memory access time from the data memory 1 is considerably shortened through the parallel arrangement of the redundancy data memory 3 and of the main data memory 2 with regard to the data bus 6 and also through the parallel arrangement of the redundancy control logic 4 and of the main data memory 2 with regard to the address bus 7.

[0072] The redundancy control logic 4 and the redundancy data memory 3 can be constructed in an integrated manner as one electronic component. As a result of this, an existing main data memory 2 can be provided with a redundant memory space in a simple manner through connection to such an integrated component via a multiplexer 5.

[0073] In a further preferred embodiment, the multiplexer 5 is integrated with the redundancy control logic 4 and the redundancy data memory 3 and the address read-only memory 30 in one electronic circuit. For expansion of an existing main data memory 2, such an integrated component merely has to be connected to the data bus 6, the address bus 7, the control bus 8 and, via the line 17, to the main data memory 2.

List of Reference Symbols

[0074] 1 Data memory

[0075] 2 Main data memory

[0076] 3 Redundancy data memory

[0077] 4 Redundancy control logic

[0078] 5 Multiplexer

[0079] 6 Data bus

[0080] 7 Address bus

[0081] 8 Control bus

[0082] 9 Data read-in lines

[0083] 10 Address lines

[0084] 11 Control lines

[0085] 12 Data read-in lines

[0086] 13 —

[0087] 14 Control lines

[0088] 15 Address lines

[0089] 16 Control lines

[0090] 17 Data read-out lines

[0091] 18 Data read-out lines

[0092] 19 Data lines

[0093] 20 Control lines

[0094] 21 Control lines

[0095] 22 Address memory unit

[0096] 23 Address comparison circuit

[0097] 24 Lines

[0098] 25 Lines

[0099] 26 Redundancy data memory units

[0100] 27 Multiplexer

[0101] 28 Data read-out lines

[0102] 29 Lines

[0103] 30 Address read-only memory 

1. Data memory having a main data memory (2) comprising a multiplicity of data memory units, a redundancy data memory (3), which comprises a plurality of redundancy data memory units for the replacement of defective data memory units of the main data memory (2), and having a redundancy control logic (4) for controlling the access to the redundancy data memory (3), the main data memory (2) and the redundancy data memory (3) being connected to a data bus (6) in parallel with one another via data lines (9, 12), and the main data memory (2) and the redundancy control logic (4) being connected, in parallel with one another, via address lines (10, 15), to an address bus (7) for the addressing of data memory units in the data memory (1).
 2. Data memory according to claim 1, characterized in that the redundancy control logic (4) has an address memory (22) with a plurality of address memory units (22 a-22 g), which store addresses of defective data memory units of the main data memory (2).
 3. Data memory according to claim 1 or 2, characterized in that the address memory units (22 a-22 g) are associative memory units CAM connected to the address bus (7).
 4. Data memory according to claim 1 or 2, characterized in that the address memory unit [sic] (22 a-22 g) are address memory registers.
 5. Data memory according to claim 4, characterized in that each address memory register has a flag bit which indicates whether the content of the address memory register is valid.
 6. Data memory according to claim 4 or 5, characterized in that the redundancy control logic (4) has a plurality of comparators which are in each case connected to an address memory register and the address bus (7) and enable an associated redundancy data memory unit (26 a-26 g) of the redundancy data memory (3) if the address present on the address bus (7) corresponds to the address stored in the address memory register.
 7. Data memory according to one of the preceding claims, characterized in that the redundancy control logic (4) controls a first multiplexer (5) for reading data from the main data memory (2) or the redundancy data memory (3).
 8. Data memory according to one of the preceding claims, characterized in that the main data memory (2), the redundancy data memory (3) and the redundancy control logic (4) are connected, in parallel with one another, to a control bus (8) for controlling a read or write access to the data memory (1).
 9. Data memory according to one of the preceding claims, characterized in that the address memory (22) is connected to a programmable nonvolatile address read-only memory (30) for permanently storing addresses of defective data memory units of the main data memory (2).
 10. Data memory according to one of the preceding claims, characterized in that the redundancy control logic (4) drives a second multiplexer (27), which is connected, on the input side, to the redundancy data memory units (26 a-26 g) of the redundancy memory (3).
 11. Data memory according to one of the preceding claims, characterized in that the redundancy data memory unit [sic] (26 a-26 g) of the redundancy data memory (3) are registers.
 12. Data memory according to one of the preceding claims, characterized in that the main data memory (2) is a RAM memory.
 13. Data memory according to one of the preceding claims, characterized in that the main data memory (2) is an SRAM memory.
 14. Data memory at [sic] one of the preceding claims, characterized in that the address of a defective data memory unit of the main data memory (2) is read out into an address memory unit (22 a-22 g) of the address memory (22) from a memory test logic integrated into the data memory (1), from an automatic test device connected to the data memory (1) or from the address read-only memory (30) and is written to the address memory unit (22 a-22 g).
 15. Test method for testing a data memory which has a main data memory (2) with a multiplicity of data memory [sic], in which the following steps are carried out for all the data memory units: (a) addressing (S2) of a data memory unit by application of the address of the data memory unit to an address bus (7) connected to the main data memory (2); (b) application (S2) of input test data for testing the addressed data memory unit to a data bus (6) connected to the main data memory (2); (c) read-out (S3) of output test data from the addressed data memory unit; (d) comparison (S3) of the output test data with expected desired output test data; (e) in which case, if the output test data and the expected desired output test data do not correspond, the applied address is written (S8) to an address memory unit of an address memory (22) and the test method is started anew, the written address remaining stored. 